package commons.base.excel.annotation;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import commons.base.excel.ExcelColumnParser;
import commons.base.excel.ExcelConstants;
import commons.base.excel.NoneColumnParser;

@Retention(RUNTIME)
@Target(FIELD)
public @interface ExcelColumn {

	/**
	 * List分隔符(复杂对象时使用), 默认用','分隔
	 */
	String listDelimiter() default ExcelConstants.LIST_DELIMITER;
	/**
	 * 对象属性分隔符(复杂对象时使用), 默认用';'分隔
	 */
	String objectDelimiter() default ExcelConstants.OBJECT_DELIMITER;
	/**
	 * name-value分隔符(复杂对象时使用), 默认用':'分隔
	 */
	String fieldDelimiter() default ExcelConstants.FIELD_DELIMITER;
	/**
	 * 自定义列解析器
	 */
	Class<? extends ExcelColumnParser> parser() default NoneColumnParser.class;
}
